以太坊2.0? 亲历3天的Devcon我看到了这样一个以太坊 | 见闻录
有人说,区块链最大的应用就是发行 Token 和开会。作为从业者,这一年多下来,我也参加过许多会议。但深深觉得以太坊 Devcon 是区块链技术行业中最高水平的会议,这场会议指明了以太坊2.0的发展规划与路径,这是一场纯粹的技术会议,参与者都是有高度技术信仰的程序员与自由主义者。
在区块链的各种大会中,以太坊的 Devcon 是最为技术最为权威的,没有之一。今年的 Devcon 三千张门票,每张近二千美元,在开售之后几分钟之内售完,抢购盛况堪比苹果手机发布。
我是从去年开始参加 Devcon 活动的。去年的 Devcon3 在墨西哥的海滨度假胜地坎昆,那时我们的项目 CyberMiles 刚刚成立,没有人知道。
今年的 Devcon4 在捷克首都布拉格举行,很多人一看见 CyberMiles 都知道这是在以太虚拟机上发明实现了 libENI 与 Lity 语言扩展的团队。一年时间,我们与以太坊一起成长,也在开源技术社区中有了自己的一席之地。那么,以太坊成长的未来又在哪里呢?
以太坊要支持大规模的落地应用的必要不充分条件,是必须先解决安全、性能、可扩展性、易用性等技术问题。这些技术的研发蓝图也是这次 Devcon4 的主旋律。而这些技术可能产生的社会变革,怎么安全公平地推广使用技术,以及技术对个人自由,私有财产,等普适价值观的影响,也是这次大会热列讨论的方向。
因为 Devcon4 的参会者基本上都是有高度技术信仰的程序员与自由主义者,我在布拉客任何时间任何地点,都没有听到任何有关币价的讨论,也没有看到人们争着与名人照相。这与其它各种区块链大会,反差强烈。
那么,以太坊下面的技术蓝图是什么呢?专门创作技术小调的网红歌手 Jonathan Mann 的开场歌词说明了一切,也是我们下文的大纲。
注:BUIDL 是专门把 Builder 这个词拼错。指区块链世界里真正写软件,贡献价值的人。对应于币圈的 HODL,holder,是指有信念长期持币的人。
以太坊 2.0:没有时间表的计划
以太坊的下一个上线版本叫君士坦丁堡,再下一个叫做宁静,也就是大家常说的以太坊 2.0。以太坊 2.0 的三大创新是:权益证明的共识机制、分片和 Ewasm 虚拟机。
注:从某种意义上讲,区块链软件是永远不会有 2.0 的。区块链软件必须在任何时候都能处理从第一个创世块到现在的所有块,不能有与 1.0 不兼容的 2.0 软件。但是,以太坊的宁静版有很大的改变,是对目前以太坊的硬分叉,所以也叫以太坊 2.0。
当然,虽然目标与路径已经有了,以太坊宁静版的具体实现仍然任重道远。事实上,我注意到 Vitalik 的讲话中没有给任何时间点。这些功能可能在一年之内实现,也完全有可能是二年甚至三年。以太坊的目标是技术改变世界,不是币市的牛熊。
Casper
以太坊宁静版的最大特色,也是最大挑战,是需要把以太坊从一个工作量证明的区块链,变成一个权益证明的区块链。这是对基本共识机制的改变,也是以太坊的未来基础。这个改变带来的好处是以太坊性能的大幅提升,因为 PoS 是比 PoW 更有效率得多的共识机制。
开发一个基于 PoS 的区块链并不是尖端科学。CyberMiles 就是一个基于权益证明,兼容以太坊所有功能,但是有 PoS 性能的公链。
但是,对于以太坊来说,这个转化涉及社区各方,尤其是矿工的利益,所以挑战非常大。Casper 是以太坊由 PoW 转向 PoS 的过渡软件,在很长的一个过渡期,会有 PoW 与 PoS 两个机制共存。
Casper 的测试链在去年 Devcon 之后上线,CyberMiles 团队早期参与,见证了它从很不稳定到现在的相对稳定。
在 Devcon4,大家的共识是 Casper 的软件已经基本稳定。这次大会关于 Casper 的设计与方向的讨论已经没有多少了。
分片
以太坊扩容的第二个重要想法是分片。
与数据库分片相似,区块链分片可以由一部分节点处理一部分工作。这样,整个系统能处理的总工作量就可以随着节点数增加而增长。有了分片,以太坊的扩容就是增加更多的计算节点那么简单。
分片技术核心开发者王筱维(Hsiao-Wei Wang)
分片扩容听上去容易,其实做起来非常难。怎么分片,各个片之间怎么共识?在研发 Casper 的过程中,大家发现 Casper 的共识机制也可以用来为分片提供共识。因此,有人也就叫这种分片机制叫 Shasper。
我在 Devcon4 的感受是,Shasper 还有很多未解的问题。但是因为这与广大应用开发者关系不大,所以讨论基本局限在以太坊核心开发团队之中。
当然,分片的想法不只是 Shasper 一个。针对应用的公链,比如针对电商的 CyberMiles,本身就是逻辑分片的。几个,乃至几百几千个,针对各种应用的公链通过去中心化交易平台连接,这就是通过应用逻辑分片。
Ewasm
如果 Casper 与分片是以太坊 2.0 的前期目标的话,EWASM 虚拟机就是它的后期目标。由于虚拟机是应用软件与以太坊交互的窗口,广大开发者社区对 EWASM 表现出了很大兴趣。
今天以太坊的虚拟机叫 EVM,是加密专家写的。它虽然图灵完备,但是主要是为加密共识算法设计的。作为一个通用计算平台,EVM 的效率,性能,安全性,可用性,都相当差。
EWASM 是基于开源的 WebAssembly 虚拟机,把虚拟机的一部分隔离出来做共识计算,然后让正常的 WebAssembly 做通用计算。因为 WebAssembly 已经有一个很大的开源社区,包括它的创造者 Mozilla Foundation、Google 与 Microsoft,这明显是一个正确的选择。
EWASM 的一个特点是支持多种编程语言。llvm 支持的十几种编程语言都可以编译在 EWASM 上运行。同时,EWASM 有一个扩展插件机制,可以支持用 C/C++ 语言写的插件来拓展虚拟机的功能。比如,一个高性能的算法可以直接通过插件放入虚拟机,让所有应用程序调用。
注:CyberMiles 的 libENI 为今天的 EVM 提供了一个扩展插件的机制,包括通过共识机制让插件上链的机制。这是以太坊社区在这方面的一个探索。
可是,在 Devcon4 参与了近十个小时的 EWASM 讲座与实验室,我的感觉是 EWASM 离真正上线还很远(估计要两年)。目前,它还没有测试链,写不出一个像样的 “hello world”,而且路径依赖于 Casper。
注:EWASM 是在 2015 年由 EIP-48 提出的,已经开发了三年。
其他技术热点
以太坊宁静是以太坊的下一个主链。从 Devcon4 可以清晰地看出,以太坊的力量在于围绕主链的生态与社区。
侧链
我们前面讨论过了,以太坊生态的最大挑战是扩容。在 Casper / 分片 / EWASM 为基础的主链扩容之外,另一个很重要的扩容方案是用侧链。
侧链的基本原理是在主链之外进行大量的交易,这些交易的正确性与安全性是由一个智能合约批量在主链上验证的。
这其实就是为比特币成功扩容的闪电网络的基本想法。只是以太坊的交易中含有代码,比起比特币的复杂性大大增加了。所以以太坊没有闪电网络,需要完整的区块链智能合约平台在主链之外执行交易,这就叫侧链。
因为侧链是主链以外的“第二层”所以叫做 Layer 2 network。
可是如同上面讲过的很多想法,侧链也是一个看似简单,实现很难的想法。侧链的设计机制有好几种,也有好几个项目融了资,在这个领域探索。在 Devcon4 主会场上有影响的侧链设计就是 Plasma。
以太坊首席欢乐官 Karl Floersch
Plasma 这个设计在几个月前有一个最小验证的产品叫 Plasma MVP,给了社会很大信心。但是 Plasma MVP 也有很多问题,不能在现实场景中使用。受到 Plasma MVP 的启发与鼓励,以太坊开发者社区目前有好几个 Plasma 的实现项目在竞争。
以太坊核心工程师 Karl Floersch 给大会介绍了 Plasma 实现的现状。他很乐观,认为在过去的几个月之中,这些项目已经试通了一条路:“我们已经站在山顶,可以看见曙光”。但是对于应用开发工程师来说,我们还在等待第一个以太坊主链上可用的 Plasma 侧链。
零知识证明
在过去两年中,零知识证明一直是区块链研究的重点之一。零知识证明可以在所有交易都上链透明的区块链上保证交易的保密与隐私。这里突出的例子是 zcash。
去年区块链技术圈的大新闻是以太坊引入了对 zkSNARK 的支持。这样零知识的可能被应用于智能合约,比如构建有隐私保护的数据市场。目前零知识算法的可用性与性能都有诸多不足之处,所以应用还相当有限。
但是就在最近,Vitalik 发表了一篇文章讲零知识证明可以用来成批次地打包验证交易。这样,以太坊会有第二种不依赖侧链的交易打包扩容方案。
安全
在去年 Devcon3 期间,以太坊联合创始人 Gavin Wood 的融资智能合约被人发现一个安全问题,导致时价2.8亿美元的930,000个 ETH 被锁在智能合约里,没人能动。
之后,以太坊智能合约的安全问题频出,造成了大量的经济损失。以太坊智能合约的安全工具与咨询公司也进入了我们的视野。在市场上声音比较大的是各种形式化验证工具,从数学上证明软件的正确性。
但软件安全最终是一个系统工程,需要工具,也需要流程与系统。今年的 Devcon4 有好几个关于智能合约安全的讨论会,其内容包括了系统化的方法论,安全测试,验证与项目管理的工具,以及具体项目安全评估之后的复盘。
我感觉,Devcon4 是区块链开发者向传统软件开发工程系统靠近的一年。
UI / UX
区块链开发以前一直是加密学专家与系统程序员的天下。在过去的一年,大家发现区块链应用对于广大用户来说太难了,落地很难,就象早期拨号上网的互联网。
所以,今年 Devcon4 请了去年比较成功的应用项目介绍 UI / UX 的经验,同时也请来了传统互联网世界的著名 UI / UX 设计师来给大家讲解一些基本概念与技巧。
以太坊生态中用户最多的项目是钱包项目。面向开发者的钱包 Metamask 已经有一百万用户,并且有计划向面向消费者的移动钱包发展。Metamask 在主会场分享了他们的经验与发展计划。
同时,开发者也在试图建设让整个以太坊更加易用的基础设施。
比如以太坊的域名服务(ENS)是一个社区设立的智能合约,可以把以太坊的账号或者合约地址映射到人类可读的名字(就像 DNS 把数字的 IP 地址映射到人类可读的域名)。
技术的社会责任
从比特币之初,加密货币的技术社区就一直强调技术对社会的责任。我们开发的新技术是会被用来战争,压迫个人自由,还是会增加人类的幸福?
这是几十年前爱因斯坦,奥本海默的困惑,也是今年 Google 雇员的斗争。技术的力量能不能建成核电站,但是不造原子弹?加密货币是加剧社会的贫富差距,还是为个人自由赋能?
嘉宾 Steward Brand 与 Corey Doctorow 等人带来了精彩的演讲与讨论。
这届 Devcon4 可能有 1/4 的时间在探讨这个问题。比如,可以拥有财产,根据规则自主决策,甚至有性复制的智能合约是一种“法人”吗?该不该有“人权”?会不会在以后统治人类?而人类社会本身,能不能通过数学化的极端市场,去掉公司,政府,甚至私有财产本身?
看到这些讨论,我突然觉得程序员真的是未来世界的主宰,软件已经吃掉了全社会。
写在最后
以太坊 Devcon 是名符其实的代表区块链技术最高水平的大会,它定下了下一年区块链技术发展的方向。与我今年在亚洲美国参加的各种大会小会相比,Devcon 是一股清流:这里只谈技术,不谈币价。
大会演讲视频链接:
https://slideslive.com/38911427/
Michael Yuan博士,CyberMiles基金会联合创始人&首席科学家。毕业于美国德克萨斯大学奥斯汀分校,获天体物理学博士学位。
Michael在开源软件开发方面拥有丰富经验,曾参与火狐浏览器、Fedora 和JBoss等项目,也是多项美国政府支持研究项目的负责人。
2005年,Michael被社区选为“Java冠军”。迄今为止,Michael 撰写了6本关于软件开发的书籍,其中新书《Building BlockchainApps》由世界上最大的高等教育出版商 Addison Wesley出版。
--【完】--
公众号又又又改版了,为了不错过第一手招聘需求,建议你按照图片的提示,将【区块链大本营】设为星标(安卓用户设为“置顶”),标星看大图更爽哟!
推荐阅读
大力戳↑↑↑ 加入区块链大本营读者⑦群
(内容转载请联系微信:171075719)
(商务合作请联系微信:fengyan-1101)